import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd

# 1.
# Seaborn绘制图像
# (1)
# tips处理以下图像
df = pd.read_csv('tips.csv')
print(df[:5])


# ①    使用day和total_bill完成下图
plt.figure()
sns.stripplot(x='day', y='total_bill', data=df, hue='smoker', dodge=True)
plt.show()

#
# ②    完成下图处理
plt.figure()
sns.boxplot(x='day', y='total_bill', data=df)
plt.show()

#
# ③    完成下图处理
plt.figure()
sns.boxplot(x='tip', y='day', data=df, orient='h')
sns.stripplot(x='tip', y='day', data=df, orient='h', color='b')
plt.show()

#
# (2)
# 使用iris数据集完成以下图像
from sklearn.datasets import load_iris
x, y = load_iris(return_X_y=True)

# ①    绘制四个特征的热图
x4 = pd.DataFrame(x[:, :4])
x4corr = x4.corr()
plt.figure()
sns.heatmap(x4corr, annot=True)
plt.show()

# ②    绘制前两个特征的联合分布图
plt.figure()
sns.jointplot(x=0, y=1, data=x4)
plt.show()
